#pragma once

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

typedef int DListDataType;

typedef struct DListNode
{
	DListDataType Data;
	struct DListNode* prev;
	struct DListNode* next;

}DLN;

DLN* DLSTInit();
void DLSTPushBack(DLN* Phead, DListDataType x);
void DLSTPrint(DLN* Phead);
void DLSTPushFront(DLN* Phead, DListDataType x);
void DLSTPopFront(DLN* Phead);
DLN* DLSTDataFind(DLN* Phead, DListDataType x);
void DLSTInsert(DLN* Phead, DLN* pos, DListDataType x);
void DLSTErase(DLN* Phead, DLN* pos);